#if !defined(__APP_MQTT_H)
#define __APP_MQTT_H

#define ADDRESS "tcp://192.168.174.128:1883" //mqtt服务器地址
#define CLIENTID "ExampleClientPub" //客户端ID
#define TOPIC_PUSH "push" //发布主题
#define TOPIC_PULL "push" //订阅主题
#define QOS 1   // 服务质量
#define TIMEOUT 10000L // 超时时间

/**
 * @breif 初始化MQTT客户端
 * @return 0:成功，-1:失败
 */
int app_mqtt_init();

/**
 * @breif 关闭MQTT客户端
 * @return 无
 */
void app_mqtt_close();

/**
 * @breif  向远程MQTT服务器发送消息数据
 * @param data:数据指针
 * @param len:数据长度
 * @return 0:成功，-1:失败
 */
int app_mqtt_send(void *data, int len);

/**
 * @breif 注册接收数据回调函数
 * @param callback:回调函数
 *          void *data:数据指针
 *          int len:数据长度
 * @return 无
 */
void app_mqtt_registerRecvCallback(int (*callback)(void *data, int len));

#endif // __APP_MQTT_H
